package com.hyou.sc.zuul.util;

import org.springframework.http.MediaType;

import com.hyou.common.util.json.JsonUtil;
import com.hyou.springboot.util.ResponseMessageUtil;
import com.netflix.zuul.context.RequestContext;

public class ZuulUtil {
    
    private ZuulUtil() {
        
    }
    
    /**
     * <pre>
     * 用于Zuul层的过滤器中。
     * 如果请求在过滤器中出现错误或者过滤器经逻辑处理后不允许继续执行后续的请求逻辑，通过该方法向客户端响应错误
     * 
     * 版本修改历史记录：
     * 1) 1.0.0 2018-04-20 14:23:54 FengChangshuo 初始创建
     * </pre>
     * 
     * @param ctx RequestContext请求上下文
     * @param msg 应答消息
     */
    public static void sendErrorMessage(RequestContext ctx, String msg) {
        String resString = JsonUtil.toJSONString(ResponseMessageUtil.genFailResult(msg));
        
        ctx.setSendZuulResponse(false);
        ctx.getResponse().setContentType(MediaType.APPLICATION_JSON_UTF8_VALUE);
        ctx.setResponseBody(resString);
    }
    
}
